package com.zyn.inventory.management.services;


import java.util.List;

import com.zyn.inventory.management.entities.Role;
import com.zyn.inventory.management.entities.User;
import com.zyn.inventory.management.enums.UserRole;
import com.zyn.inventory.management.utils.Page;

public interface UserService extends EntityService<User> {

    boolean changePassword(User user, String password, boolean isTempPassword);
    
    public void save(User user);

    User getByEmail(String email);

    List<User> get(List<Long> ids);

    boolean updateSecurityContext(User user);

    User getUserFromSecurityContext();

    long countAll();

	List<User> getAll();
	
	User registerUser(String username,String password,String realname,List<UserRole> userRoles);

	Page<User> queryPage(Integer page);
	
	User getByUsername(String username);

}
